.*: Assembler messages:
.*:7: Warning:.*
.*:9: Warning:.*
.*:11: Warning:.*
.*:13: Warning:.*
.*:15: Warning:.*
.*:21: Warning:.*
.*:23: Warning:.*
.*:25: Warning:.*
.*:27: Warning:.*
.*:29: Warning:.*
.*:128: Warning:.*
.*:129: Warning:.*
.*:130: Warning:.*
.*:131: Warning:.*
.*:132: Warning:.*
.*:133: Warning:.*
.*:134: Warning:.*
.*:139: Warning:.*
.*:140: Warning:.*
.*:141: Warning:.*
.*:142: Warning:.*
.*:143: Warning:.*
.*:144: Warning:.*
.*:224: Warning:.*
.*:233: Warning:.*
.*:234: Warning:.*
.*:238: Warning:.*
.*:239: Warning:.*
   1                       	.psize 0
   2                       	.text
   3                       	#test jumps and calls
   4 0000 EBFE              	1:	jmp	1b
   5 0002 E9((FC|F9)FFFF FF|000000 00)       		jmp	xxx
   6 0007 FF250000 0000     		jmp	\*xxx
   7 000d FF250000 0000     		jmp	xxx\(,1\)
.*Warning:.*
   8 0013 FFE7              		jmp	\*%edi
   9 0015 FFE7              		jmp	%edi
.*Warning:.*
  10 0017 FF27              		jmp	\*\(%edi\)
  11 0019 FF27              		jmp	\(%edi\)
.*Warning:.*
  12 001b FF2CBD00 000000   		ljmp	\*xxx\(,%edi,4\)
  13 0022 FF2CBD00 000000   		ljmp	xxx\(,%edi,4\)
.*Warning:.*
  14 0029 FF2D0000 0000     		ljmp	\*xxx
  15 002f FF2D0000 0000     		ljmp	xxx\(,1\)
.*Warning:.*
  16 0035 EA000000 003412   		ljmp	\$0x1234,\$xxx
  17                       	
  18 003c E8BFFFFF FF       		call	1b
  19 0041 E8((FC|BA)FFFF FF|000000 00)       		call	xxx
  20 0046 FF150000 0000     		call	\*xxx
  21 004c FF150000 0000     		call	xxx\(,1\)
.*Warning:.*
  22 0052 FFD7              		call	\*%edi
  23 0054 FFD7              		call	%edi
.*Warning:.*
  24 0056 FF17              		call	\*\(%edi\)
  25 0058 FF17              		call	\(%edi\)
.*Warning:.*
  26 005a FF1CBD00 000000   		lcall	\*xxx\(,%edi,4\)
  27 0061 FF1CBD00 000000   		lcall	xxx\(,%edi,4\)
.*Warning:.*
  28 0068 FF1D0000 0000     		lcall	\*xxx
  29 006e FF1D0000 0000     		lcall	xxx\(,1\)
.*Warning:.*
  30 0074 9A000000 003412   		lcall	\$0x1234,\$xxx
  31                       	
  32                       	# test various segment reg insns
  33 007b 1E                		push	%ds
  34 007c 1E                		pushl	%ds
  35 007d 1F                		pop	%ds
  36 007e 1F                		popl	%ds
  37 007f 8CD8              		mov	%ds,%eax
  38 0081 8CD8              		movl	%ds,%eax
  39 0083 8CDB              		movl	%ds,%ebx
  40 0085 8ED8              		mov	%eax,%ds
  41 0087 8EDB              		movl	%ebx,%ds
  42 0089 8ED8              		movl	%eax,%ds
  43                       	
  44 008b 661E              		pushw	%ds
  45 008d 661F              		popw	%ds
  46 008f 668CD8            		mov	%ds,%ax
  47 0092 668CD8            		movw	%ds,%ax
  48 0095 668CDF            		movw	%ds,%di
  49 0098 8ED8              		mov	%ax,%ds
  50 009a 8ED8              		movw	%ax,%ds
  51 009c 8EDF              		movw	%di,%ds
  52                       	
  53                       	# test various pushes
  54 009e 6A0A              		pushl	\$10
  55 00a0 666A0A            		pushw	\$10
  56 00a3 6A0A              		push	\$10
  57 00a5 68E80300 00       		pushl	\$1000
  58 00aa 6668E803          		pushw	\$1000
  59 00ae 68E80300 00       		push	\$1000
  60 00b3 FF35D200 0000     		pushl	1f
  61 00b9 66FF35D2 000000   		pushw	1f
  62 00c0 FF35D200 0000     		push	1f
  63 00c6 FFB30C00 0000     		push	\(1f-.\)\(%ebx\)
  64 00cc FF350600 0000     		push	1f-.
  65                       	# these, and others like them should have no operand size prefix
  66 00d2 0F00D1            	1:	lldt	%cx
  67 00d5 0F01F0            		lmsw	%ax
  68                       	
  69                       	# Just to make sure these don't become illegal due to over-enthusiastic
  70                       	# register checking
  71 00d8 660FBEF8          		movsbw	%al,%di
  72 00dc 0FBEC8            		movsbl	%al,%ecx
  73 00df 0FBFC8            		movswl	%ax,%ecx
  74 00e2 660FB6F8          		movzbw	%al,%di
  75 00e6 0FB6C8            		movzbl	%al,%ecx
  76 00e9 0FB7C8            		movzwl	%ax,%ecx
  77                       	
  78 00ec EC                		in	%dx,%al
  79 00ed 66ED              		in	%dx,%ax
  80 00ef ED                		in	%dx,%eax
  81 00f0 EC                		in	\(%dx\),%al
  82 00f1 66ED              		in	\(%dx\),%ax
  83 00f3 ED                		in	\(%dx\),%eax
  84 00f4 EC                		inb	%dx,%al
  85 00f5 66ED              		inw	%dx,%ax
  86 00f7 ED                		inl	%dx,%eax
  87 00f8 EC                		inb	%dx
  88 00f9 66ED              		inw	%dx
  89 00fb ED                		inl	%dx
  90 00fc E4FF              		inb	\$255
  91 00fe 66E502            		inw	\$2
  92 0101 E504              		inl	\$4
  93 0103 66E50D            		in	\$13, %ax
  94 0106 EE                		out	%al,%dx
  95 0107 66EF              		out	%ax,%dx
  96 0109 EF                		out	%eax,%dx
  97 010a EE                		out	%al,\(%dx\)
  98 010b 66EF              		out	%ax,\(%dx\)
  99 010d EF                		out	%eax,\(%dx\)
 100 010e EE                		outb	%al,%dx
 101 010f 66EF              		outw	%ax,%dx
 102 0111 EF                		outl	%eax,%dx
 103 0112 EE                		outb	%dx
 104 0113 66EF              		outw	%dx
 105 0115 EF                		outl	%dx
 106 0116 E6FF              		outb	\$255
 107 0118 66E702            		outw	\$2
 108 011b E704              		outl	\$4
 109 011d 66E70D            		out	%ax, \$13
 110                       	# These are used in AIX.
 111 0120 66ED              		inw	\(%dx\)
 112 0122 66EF              		outw	\(%dx\)
 113                       	
 114 0124 A4                		movsb
 115 0125 66A7              		cmpsw
 116 0127 AF                		scasl
 117 0128 D7                		xlatb
 118 0129 2EA5              		movsl	%cs:\(%esi\),%es:\(%edi\)
 119 012b 0F9303            		setae	\(%ebx\)
 120 012e 0F9303            		setaeb	\(%ebx\)
 121 0131 0F93C0            		setae	%al
 122                       	
 123 0134 0C01              		orb	\$1,%al
 124 0136 0D000100 00       		orl	\$0x100,%eax
 125 013b 80CB01            		orb	\$1,%bl
 126                       	
 127                       	#these should give warnings
 128 013e D9C1              		fldl	%st\(1\)
.*Warning:.*
 129 0140 DDD2              		fstl	%st\(2\)
.*Warning:.*
 130 0142 DDDB              		fstpl	%st\(3\)
.*Warning:.*
 131 0144 D8D4              		fcoml	%st\(4\)
.*Warning:.*
 132 0146 D8DD              		fcompl	%st\(5\)
.*Warning:.*
 133 0148 DEC1              		faddp	%st\(1\),%st
.*Warning:.*
 134 014a DECA              		fmulp	%st\(2\),%st
.*Warning:.*
 135 014c D8E3              		fsub	%st\(3\),%st
 136 014e D8EC              		fsubr	%st\(4\),%st
 137 0150 D8F5              		fdiv	%st\(5\),%st
 138 0152 D8FE              		fdivr	%st\(6\),%st
 139 0154 DEC1              		fadd
.*Warning:.*
 140 0156 DEE1              		fsub
.*Warning:.*
 141 0158 DEC9              		fmul
.*Warning:.*
 142 015a DEF1              		fdiv
.*Warning:.*
 143 015c DEE9              		fsubr
.*Warning:.*
 144 015e DEF9              		fdivr
.*Warning:.*
 145                       	#these should all be legal
 146 0160 0FA31556 341200   		btl	%edx, 0x123456
 147 0167 0FA3D0            		btl	%edx, %eax
 148 016a 0C01              		orb	\$1,%al
 149 016c 80CB01            		orb	\$1,%bl
 150 016f A1110000 00       		movl	17,%eax
 151 0174 A1110000 00       		mov	17,%eax
 152 0179 66ED              		inw	%dx,%ax
 153 017b ED                		inl	%dx,%eax
 154 017c 66ED              		inw	\(%dx\),%ax
 155 017e ED                		inl	\(%dx\),%eax
 156 017f EC                		in	\(%dx\),%al
 157 0180 66ED              		in	\(%dx\),%ax
 158 0182 ED                		in	\(%dx\),%eax
 159 0183 0FB61437          		movzbl	\(%edi,%esi\),%edx
 160 0187 0FB6451C          		movzbl	28\(%ebp\),%eax
 161 018b 0FB6C0            		movzbl	%al,%eax
 162 018e 0FB6F1            		movzbl	%cl,%esi
 163 0191 26D7              		xlat	%es:\(%ebx\)
 164 0193 D7                		xlat
 165 0194 D7                		xlatb
 166 0195 DDD8              	1:	fstp	%st\(0\)
 167 0197 E2FC              		loop	1b
 168 0199 F6F1              		divb    %cl 
 169 019b 66F7F1            		divw    %cx 
 170 019e F7F1              		divl    %ecx
 171 01a0 F6F1              		div	%cl
 172 01a2 66F7F1            		div	%cx
 173 01a5 F7F1              		div	%ecx
 174 01a7 F6F1              		div	%cl,%al
 175 01a9 66F7F1            		div	%cx,%ax
 176 01ac F7F1              		div	%ecx,%eax
 177 01ae 8EDE              		mov	%si,%ds
 178 01b0 8EDF              		movl	%edi,%ds
 179 01b2 1E                		pushl	%ds
 180 01b3 1E                		push	%ds
 181 01b4 A0000000 00       		mov	0,%al
 182 01b9 66A10000 0100     		mov	0x10000,%ax
 183 01bf 89C3              		mov	%eax,%ebx
 184 01c1 9C                		pushf
 185 01c2 9C                		pushfl
 186 01c3 669C              		pushfw
 187 01c5 9D                		popf
 188 01c6 9D                		popfl
 189 01c7 669D              		popfw
 190 01c9 89341D00 000000   		mov	%esi,\(,%ebx,1\)
 191 01d0 80250000 00007F   		andb	\$~0x80,foo
 192                       	
 193 01d7 6683E0FE          		and	\$0xfffe,%ax
 194 01db 662500FF          		and	\$0xff00,%ax
 195 01df 25FEFF00 00       		and	\$0xfffe,%eax
 196 01e4 2500FF00 00       		and	\$0xff00,%eax
 197 01e9 83E0FE            		and	\$0xfffffffe,%eax
 198                       	
 199                       	.code16
 200 01ec 83E0FE            		and	\$0xfffe,%ax
 201 01ef 2500FF            		and	\$0xff00,%ax
 202 01f2 6625FEFF 0000     		and	\$0xfffe,%eax
 203 01f8 662500FF 0000     		and	\$0xff00,%eax
 204 01fe 6683E0FE          		and	\$0xfffffffe,%eax
 205                       	
 206                       	#check 16-bit code auto address prefix
 207                       	.code16gcc
 208 0202 67668D95 00FFFFFF 		leal	-256\(%ebp\),%edx
 209 020a 6788857F FFFFFF   		mov	%al,-129\(%ebp\)
 210 0211 67886580          		mov	%ah,-128\(%ebp\)
 211 0215 67668D9D 20F9FFFF 		leal	-1760\(%ebp\),%ebx
 212 021d 67668984 248C0000 		movl	%eax,140\(%esp\)
 212      00
 213                       	
 214                       	.code32
 215                       	# Make sure that we won't remove movzb by accident.
 216 0226 660FB6F8          		movzb	%al,%di
 217 022a 0FB6C8            		movzb	%al,%ecx
 218                       	
 219                       	.code16gcc
[ 	]*[1-9][0-9]*[ 	]*# Except for IRET use 32-bit implicit stack accesses by default.
[ 	]*[1-9][0-9]*[ 	]+[0-9a-f]*[ 	]+66E8FAFF FFFF[ 	]+call	\.
[ 	]*[1-9][0-9]*[ 	]+[0-9a-f]*[ 	]+66FF17[ 	]+call	\*\(%bx\)
[ 	]*[1-9][0-9]*[ 	]+[0-9a-f]*[ 	]+66C80000 00[ 	]+enter	\$0,\$0
[ 	]*[1-9][0-9]*[ 	]+[0-9a-f]*[ 	]+CF[ 	]+iret
.*Warning:.*16-bit.*iret.*
[ 	]*[1-9][0-9]*[ 	]+[0-9a-f]*[ 	]+66FF1F[ 	]+lcall	\*\(%bx\)
[ 	]*[1-9][0-9]*[ 	]+[0-9a-f]*[ 	]+669A0000 00000000[ 	]+lcall	\$0,\$0
[ 	]*[1-9][0-9]*[ 	]+[0-9a-f]*[ 	]+66C9[ 	]+leave
[ 	]*[1-9][0-9]*[ 	]+[0-9a-f]*[ 	]+66CB[ 	]+lret
[ 	]*[1-9][0-9]*[ 	]+[0-9a-f]*[ 	]+66CA0000[ 	]+lret	\$0
[ 	]*[1-9][0-9]*[ 	]+[0-9a-f]*[ 	]+666A00[ 	]+push	\$0
[ 	]*[1-9][0-9]*[ 	]+[0-9a-f]*[ 	]+66683412 0000[ 	]+push	\$0x1234
[ 	]*[1-9][0-9]*[ 	]+[0-9a-f]*[ 	]+66FF37[ 	]+push	\(%bx\)
[ 	]*[1-9][0-9]*[ 	]+[0-9a-f]*[ 	]+6606[ 	]+push	%es
.*Warning:.*32-bit.*push.*
[ 	]*[1-9][0-9]*[ 	]+[0-9a-f]*[ 	]+660FA0[ 	]+push	%fs
.*Warning:.*32-bit.*push.*
[ 	]*[1-9][0-9]*[ 	]+[0-9a-f]*[ 	]+6660[ 	]+pusha
[ 	]*[1-9][0-9]*[ 	]+[0-9a-f]*[ 	]+669C[ 	]+pushf
[ 	]*[1-9][0-9]*[ 	]+[0-9a-f]*[ 	]+668F07[ 	]+pop	\(%bx\)
[ 	]*[1-9][0-9]*[ 	]+[0-9a-f]*[ 	]+6607[ 	]+pop	%es
.*Warning:.*32-bit.*pop.*
[ 	]*[1-9][0-9]*[ 	]+[0-9a-f]*[ 	]+660FA1[ 	]+pop	%fs
.*Warning:.*32-bit.*pop.*
[ 	]*[1-9][0-9]*[ 	]+[0-9a-f]*[ 	]+6661[ 	]+popa
[ 	]*[1-9][0-9]*[ 	]+[0-9a-f]*[ 	]+669D[ 	]+popf
[ 	]*[1-9][0-9]*[ 	]+[0-9a-f]*[ 	]+66C3[ 	]+ret
[ 	]*[1-9][0-9]*[ 	]+[0-9a-f]*[ 	]+66C20000[ 	]+ret	\$0
[ 	]*[1-9][0-9]*[ 	]*
[ 	]*[1-9][0-9]*[ 	]*# However use 16-bit branches not accessing the stack by default.
[ 	]*[1-9][0-9]*[ 	]+[0-9a-f]*[ 	]+77FE[ 	]+ja	\.
[ 	]*[1-9][0-9]*[ 	]+[0-9a-f]*[ 	]+0F873012[ 	]+ja	\.\+0x1234
[ 	]*[1-9][0-9]*[ 	]+[0-9a-f]*[ 	]+E3FE[ 	]+jcxz	\.
[ 	]*[1-9][0-9]*[ 	]+[0-9a-f]*[ 	]+EBFE[ 	]+jmp	\.
[ 	]*[1-9][0-9]*[ 	]+[0-9a-f]*[ 	]+E93112[ 	]+jmp	\.\+0x1234
[ 	]*[1-9][0-9]*[ 	]+[0-9a-f]*[ 	]+FF27[ 	]+jmp	\*\(%bx\)
[ 	]*[1-9][0-9]*[ 	]+[0-9a-f]*[ 	]+FF2F[ 	]+ljmp	\*\(%bx\)
[ 	]*[1-9][0-9]*[ 	]+[0-9a-f]*[ 	]+EA000000 00[ 	]+ljmp	\$0,\$0
[ 	]*[1-9][0-9]*[ 	]+[0-9a-f]*[ 	]+E2FE[ 	]+loop	\.
[ 	]*[1-9][0-9]*[ 	]+[0-9a-f]*[ 	]+0F05[ 	]+syscall
[ 	]*[1-9][0-9]*[ 	]+[0-9a-f]*[ 	]+0F34[ 	]+sysenter
[ 	]*[1-9][0-9]*[ 	]+[0-9a-f]*[ 	]+0F35[ 	]+sysexit
[ 	]*[1-9][0-9]*[ 	]+[0-9a-f]*[ 	]+0F07[ 	]+sysret
[ 	]*[1-9][0-9]*[ 	]+[0-9a-f]*[ 	]+C7F8FCFF[ 	]+xbegin	\.
[ 	]*[1-9][0-9]*[ 	]*
[ 	]*[1-9][0-9]*[ 	]*# Use 16-bit layout by default for fldenv.
[ 	]*[1-9][0-9]*[ 	]+[0-9a-f]*[ 	]+67D920[ 	]+fldenv	\(%eax\)
[ 	]*[1-9][0-9]*[ 	]+[0-9a-f]*[ 	]+67D920[ 	]+fldenvs	\(%eax\)
[ 	]*[1-9][0-9]*[ 	]+[0-9a-f]*[ 	]+6766D920[ 	]+fldenvl	\(%eax\)
[ 	]*[1-9][0-9]*[ 	]*
[ 	]*[1-9][0-9]*[ 	]*# Force a good alignment.
[ 	]*[1-9][0-9]*[ 	]+[0-9a-f 	]+\.p2align	4,0
#pass
